package src.itheima02;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;

/*
    Map集合遍历第一种方式: 根据键找值             ---------------必须掌握----------------
        步骤:
            1.创建Map集合对象,指定键和值的类型
            2.Map集合对象调用put方法,添加多个键值对
            3.Map集合对象调用keySet方法,获取所有的键对应的Set集合对象
            4.遍历所有的键对应的Set集合对象: 迭代器/增强for
            5.获取当前的键
            6.Map集合对象调用get方法,传递当前的键值,获取对应值
            7.打印键和值
 */
public class Demo04MapEach {
    public static void main(String[] args) {
        //1.创建Map集合对象,指定键和值的类型
        Map<String,String> map = new HashMap<>();

        //2.Map集合对象调用put方法,添加多个键值对
        map.put("邓超","孙俪");
        map.put("李晨","范冰冰");
        map.put("刘德华","柳岩");

        //3.Map集合对象调用keySet方法,获取所有的键对应的Set集合对象
        Set<String> set = map.keySet();

        //4.遍历所有的键对应的Set集合对象: 迭代器
        Iterator<String> it = set.iterator();

        while(it.hasNext()) {
            //5.获取当前的键
            String key = it.next();

            //6.Map集合对象调用get方法,传递当前的键值,获取对应值
            String value = map.get(key);

            //7.打印键和值
            System.out.println(key+"::::"+value);
        }
        System.out.println("-----------------");
        //4.遍历所有的键对应的Set集合对象: 增强for
        for (String key : set) {
            //5.获取当前的键: key
            //6.Map集合对象调用get方法,传递当前的键值,获取对应值
            String value = map.get(key);

            //7.打印键和值
            System.out.println(key+"===="+value);

        }

        System.out.println("-----------------");

        //最简单的写法:多练习
        for (String key : map.keySet()) {
            System.out.println(key+"~~~~~~~~~~"+map.get(key));
        }

    }
}
